package lv.clientedisqueria.controller.version;

import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;

import lv.clientedisqueria.controller.Controller;
import lv.clientedisqueria.model.version.VersionModel;
import lv.mensajeriadisqueria.idomain.ITversion;

public class VersionController extends Controller<ITversion> {

	private VersionModel versionModel;
	private AbstractAction adherirTema;
	
	public VersionController(VersionModel versionModel) {
		super(versionModel);
		this.versionModel = versionModel;
	}

	@SuppressWarnings("serial")
	public Action getAdherirTemaAction() {
		if (adherirTema == null) {
			adherirTema = new AbstractAction("Adherir Tema") {
				@Override
				public void actionPerformed(ActionEvent e) {
					versionModel.adherirTema();
					desHabilitarAcciones();
				}
			};
		}
		return adherirTema;
	}
	
	@Override
	protected void desHabilitarAcciones() {
		getAdherirTemaAction().setEnabled(false);
		super.desHabilitarAcciones();
	}
	
	@Override
	protected void estadoInicialAcciones() {
		super.desHabilitarAcciones();
		getAdherirTemaAction().setEnabled(true);
	}
}
